In this notebook, we're looking at keypoint detection, specifically:
In [1]:
import neukrill_net.utils
import neukrill_net.image_features
import sys
import numpy as np
import skimage
import PIL.Image
import cv2
from IPython.display import display
from IPython.display import Image
import matplotlib.cm as cm
In [2]:
%matplotlib inline
import matplotlib.pyplot as plt
In [3]:
cd ..
In [4]:
# Load the settings
settings = neukrill_net.utils.Settings("settings.json")
In [5]:
# Load raw training data
rawdata, labels = neukrill_net.utils.load_rawdata(settings.image_fnames, classes=settings.classes)
In [7]:
# Test the images are loaded
plt.imshow(rawdata[0], cmap = plt.get_cmap('gray'))
Out[7]:
In [19]:
# FAST detector
no_of_keypoints = []
for image in rawdata:
no_of_keypoints.append(len(neukrill_net.image_features.get_FAST_keypoints(image)))
no_of_keypoints = np.array(no_of_keypoints)
In [27]:
x = np.where(no_of_keypoints==0)
print "Number of images with no keypoints:", len(x)
plt.imshow(rawdata[x[0]], cmap = plt.get_cmap('gray'))
Out[27]:
In [38]:
no_of_keypoints = no_of_keypoints[no_of_keypoints>0]
#_=plt.hist(no_of_keypoints, bins= 100)
_=plt.hist((no_of_keypoints), bins=np.logspace(0,6,50))
plt.xscale("log")
In [54]:
# ORB detector
no_of_keypoints = []
for image in rawdata:
no_of_keypoints.append(len(neukrill_net.image_features.get_ORB_keypoints(image)))
In [51]:
no_of_keypoints = no_of_keypoints[no_of_keypoints>0]
no_of_keypoints = np.array(no_of_keypoints)
x = np.where(no_of_keypoints==0)
print x[0]
print "Number of images with no keypoints:", len(x)
plt.imshow(rawdata[x[0]], cmap = plt.get_cmap('gray'))
In [46]:
no_of_keypoints = no_of_keypoints[no_of_keypoints>0]
#_=plt.hist(no_of_keypoints, bins= 100)
_=plt.hist((no_of_keypoints), bins=np.logspace(0,6,50))
plt.xscale("log")
In [ ]: